#include<bits/stdc++.h>
int n,m,G[100][100];
void creategraph(){
	int v1,v2;
	for(int i=1;i<=m;i++){
		scanf("%d %d",&v1,&v2);
		G[v1][v2]=1;
		G[v2][v1]=1;
	}
}
int BFS(int v){
	int q[100];
	int front=0,rear=0,last=v,tail,count=1,level=0;
	int visited[100];
	for(int i=1;i<=n;i++){
		visited[i]=0;
	}
	visited[v]=1;
	q[rear++]=v;
	while(front<rear){
		v=q[front++];
		for(int i=1;i<=n;i++){
			if(!visited[i]&&G[v][i]==1){
				visited[i]=1;
				q[rear++]=i;
				count++;
				tail=i;
			}
		}
		if(v==last){
			level++;
			last=tail;
		}
		if(level==6)
			break;
	}
	return count;
}
int main(){
	scanf("%d %d",&n,&m);
	creategraph();
	for(int i=1;i<=n;i++){
		printf("%d: %.2f%%\n",i,BFS(i)*1.0/n*100);
	}
	return 0;
} 
